Embodiments of the present invention relate to decision tables and, more specifically, to decision table decomposition using semantic relations.
Decision tables provide a concise and precise way to model inference rules that follow a common structural pattern. Decision tables associate conditions with a set of actions to perform. To this end, a decision table includes one or more condition columns and one or more action columns. The condition columns correspond to conditions in the form of variables, relations, or predicates, whose possible value combinations are listed in the table entries. The actions columns are procedures or operations to perform when the corresponding conditions in the condition columns are met.
Presently, when decision tables grow too large (i.e., a large number of rows are needed to cover the possible combinations of values in the condition columns), both execution and maintainability suffer. A decision engine processing a large decision table might slow significantly, and maintaining this large decision table by adjusting the cell values can be inefficient and error prone. To reduce these issues, some methods exist to optimize decision tables using mathematical partition functions to split a large table into multiple sub-tables.